import 'package:equatable/equatable.dart';
import 'package:lucky_orbs/data/models/lottery_ticket.dart';

abstract class SuperLottoState extends Equatable {
  const SuperLottoState();

  @override
  List<Object> get props => [];
}

// 初始状态
class SuperLottoInitial extends SuperLottoState {}

// 已生成号码可准备摇奖状态
class SuperLottoTicketReady extends SuperLottoState {
  final LotteryTicket ticket;
  const SuperLottoTicketReady(this.ticket);

  @override
  List<Object> get props => [ticket];
}

// 摇奖中状态
class SuperLottoDrawing extends SuperLottoState {}

// 摇奖结束状态
class SuperLottoFinished extends SuperLottoState {
  final LotteryTicket userTicket;
  final LotteryResult result;
  final String prizeDescription;

  const SuperLottoFinished({
    required this.userTicket,
    required this.result,
    required this.prizeDescription,
  });

  @override
  List<Object> get props => [userTicket, result, prizeDescription];
}